package com.ruoyi.visualization.domain;

import java.math.BigDecimal;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 房价预测可视化对象 xian_house_price
 * 
 * @author ruoyi
 * @date 2025-10-30
 */
public class XianHousePrice extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID（自增） */
    private Long id;

    /** 区域名称（如：未央区、雁塔区） */
    @Excel(name = "区域名称", readConverterExp = "如=：未央区、雁塔区")
    private String areaName;

    /** 月份（格式：YYYYMM，如202601=2026年1月） */
    @Excel(name = "月份", readConverterExp = "格=式：YYYYMM，如202601=2026年1月")
    private String quarter;

    /** 数据类型：1=历史实际房价，2=预测房价 */
    @Excel(name = "数据类型：1=历史实际房价，2=预测房价")
    private Long priceType;

    /** 平均房价（单位：元/㎡，保留2位小数） */
    @Excel(name = "平均房价", readConverterExp = "单=位：元/㎡，保留2位小数")
    private BigDecimal avgPrice;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setAreaName(String areaName) 
    {
        this.areaName = areaName;
    }

    public String getAreaName() 
    {
        return areaName;
    }

    /**
     * 设置month
     */
    public void setQuarter(String quarter) 
    {
        this.quarter = quarter;
    }

    /**
     * 获取month
     */
    public String getQuarter() 
    {
        return quarter;
    }

    public void setPriceType(Long priceType) 
    {
        this.priceType = priceType;
    }

    public Long getPriceType() 
    {
        return priceType;
    }

    public void setAvgPrice(BigDecimal avgPrice) 
    {
        this.avgPrice = avgPrice;
    }

    public BigDecimal getAvgPrice() 
    {
        return avgPrice;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("areaName", getAreaName())
            .append("month", getQuarter())
            .append("priceType", getPriceType())
            .append("avgPrice", getAvgPrice())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
